package org.example.listener;

import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.annotation.SelectorType;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

/**
 * 如果我们的消费者指定了消费的Tag后，发送的消息如果不带tag，将会消费不到；
 * 如果我们的生产者指定了Tag，但是消费者的selectorExpression没有设置，即用默认的“*”,那么这个消费者也会消费到。
 *
 * @author : Charles
 * @date : 2021/6/10
 */
@Slf4j
@Component
@RocketMQMessageListener(
        topic = "tag_topic",
        selectorType = SelectorType.TAG,
        selectorExpression = "tag",//指定了tag后，发送的消息如果不带tag，将会消费不到
        consumerGroup = "tag_group")
public class TagMsgListener implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        log.info("{}收到消息：{}", this.getClass().getSimpleName(), message);
    }
}
